//+======================================================================
// $Source: /disk/cvs//TANGO/DeviceServer/JClock/setDateTimeCmd.java,v $
//
// Project:      Tango Device Server
//
// Description:  Java source code for the command TemplateClass of the
//               DSClock class.
//
// $Author: raph $
//
// $Revision: 1.1.1.1 $
//
// $Log: setDateTimeCmd.java,v $
// Revision 1.1.1.1  2001/04/17 11:21:05  raph
// initial work
//
//
// copyleft :    European Synchrotron Radiation Facility
//               BP 220, Grenoble 38043
//               FRANCE
//
//-======================================================================
//
//  		This file is generated by POGO
//	(Program Obviously used to Generate tango Object)
//
//             (c) - Pascal Verdier - ESRF
//=============================================================================



/**
 * @author	$Author: raph $
 * @version	$Revision: 1.1.1.1 $
 */



import org.omg.CORBA.*;
import Tango.*;
import TangoDs.*;

/**
 *	Class Description:
 *	set date and time of server
 */


public class setDateTimeCmd extends Command implements TangoConst
{
	//===============================================================
	/**
	 *	Constructor for Command class setDateTimeCmd
	 *
	 *	@param	name	command name
	 *	@param	in	argin type
	 *	@param	out	argout type
	 */
	//===============================================================
	public setDateTimeCmd(String name,int in,int out)
	{
		super(name, in, out);
	}

	//===============================================================
	/**
	 *	Constructor for Command class setDateTimeCmd
	 *
	 *	@param	name            command name
	 *	@param	in              argin type
	 *	@param	in_comments     argin description
	 *	@param	out             argout type
	 *	@param	out_comments    argout description
	 */
	//===============================================================
	public setDateTimeCmd(String name,int in,int out, String in_comments, String out_comments)
	{
		super(name, in, out, in_comments, out_comments);
	}
	//===============================================================
	/**
	 *	return the result of the device's command.
	 */
	//===============================================================
	public Any execute(DeviceImpl device,Any in_any) throws DevFailed
	{
		TangoUtil.out2.println("setDateTimeCmd.execute(): arrived");

		String argin = extract_DevString(in_any);
		((DSClock)(device)).set_date_time(argin);
		return insert();
	}

	//===============================================================
	/**
	 *	Check if it is allowed to execute the command.
	 */
	//===============================================================
	public boolean is_allowed(DeviceImpl device, Any data_in)
	{
		if (device.get_state() == DevState.RUNNING)
		{
			//	End of Generated Code

			//	Re-Start of Generated Code
			return false;
		}
		return true;
	}

}
